package com.example.smart_park2211a

import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.view.View
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import com.alibaba.android.arouter.launcher.ARouter
import com.example.component_dome.R
import com.example.main.MainActivity
import androidx.core.view.WindowCompat
import android.os.CountDownTimer
import android.view.LayoutInflater
import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import com.alibaba.android.arouter.facade.annotation.Route
import com.google.android.material.dialog.MaterialAlertDialogBuilder

/**
 * @name:  陈慕青
 * @Date: 2023-08-05 16:05:05
 * 闪屏页
 **/
@Route(path = "/app/StartActivity")
class StartActivity : AppCompatActivity() {
    // 初始化总秒数，用于倒计时
    private var totalSeconds = 5

    // 标记是否已跳转到主界面，避免重复跳转
    private var jumped = false

    // 倒计时定时器，用于控制倒计时过程
    private var timer: CountDownTimer? = null

    private var adLoaded = false
    private val splashAdUnitId = "your_splash_ad_unit_id" // 替换为你的广告位ID

    // Activity 创建时调用的方法
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_start)
        // 获取倒计时视图和跳过文本视图的引用
        //到时候绑定之后直接修改调用即可
        val countdownView = findViewById<CircleCountdownView>(R.id.circleCountdown)
        val skipText = findViewById<TextView>(R.id.skipText)
        // 设置倒计时总秒数和初始进度
        countdownView.seconds = totalSeconds
        countdownView.progress = 1f

        // 初始化倒计时定时器
        timer = object : CountDownTimer((totalSeconds * 1000).toLong(), 50) {
            // 每隔一段指定的时间段调用，更新倒计时视图的秒数和进度
            override fun onTick(millisUntilFinished: Long) {
                val sec = (millisUntilFinished / 1000).toInt() + 1
                countdownView.seconds = sec
                countdownView.progress = millisUntilFinished / (totalSeconds * 1000f)
            }

            // 倒计时结束时调用，跳转到主界面
            override fun onFinish() {
                jumpToMain()
            }
        }
        // 开始倒计时
        timer?.start()

        // 1. 预加载开屏广告

        // 设置跳过文本的点击监听器，点击时跳转到主界面
        skipText.setOnClickListener {
            jumpToMain()
        }
    }



    // 跳转到主界面的方法
    private fun jumpToMain() {
        // 如果已经跳转过，则直接返回，避免重复跳转
        if (jumped) return
        jumped = true
        // 取消倒计时
        timer?.cancel()
        // 判断是否首次启动
        val prefs = getSharedPreferences("settings", MODE_PRIVATE)
        val isFirst = prefs.getBoolean("isFirstLaunch", true)
        if (isFirst) {
            // 首次启动，跳转引导页
            ARouter.getInstance().build("/app/BootstrapActivity").navigation()
            prefs.edit().putBoolean("isFirstLaunch", false).apply()
        } else {
            // 非首次启动，直接进主页面
            ARouter.getInstance().build("/app/BootstrapActivity").navigation()
        }
        finish()
    }
    // 展示开屏广告
    private fun goMain() {
        ARouter.getInstance().build("/app/BootstrapActivity").navigation()
        finish()
    }

    // Activity 销毁时调用的方法
    override fun onDestroy() {
        super.onDestroy()
        // 确保倒计时定时器被取消，释放资源
        timer?.cancel()
    }
}